Amazon Connect で取得した同じ電話番号に対して発信時と着信時の音声メッセージを変える方法を教えてください
困っていた内容
簡単のために、2 つの問い合わせフローを以下のように定義します。
- 発信用案内フロー
- Amazon Connect → 顧客への発信時に流す問い合わせフロー
- 折り返し着信時お断りフロー
- 顧客 → Amazon Connect への折り返し着信時にお断りの案内を流す問い合わせフロー
Amazon Connect で 顧客への発信用に 電話番号「080-1234-XXXX」を取得しました。
また、Amazon Connect から 顧客向けに発信する際の問い合わせフロー (発信用案内フロー) を作成し、電話番号「080-1234-XXXX」と紐付けました。
以下の AWS CLI を使って、顧客へ発信したところ、想定通り音声メッセージが流れました。
aws connect start-outbound-voice-contact \ --destination-phone-number <発信先顧客電話番号> \ --source-phone-number < Connect で取得した電話番号> \ --contact-flow-id <コンタクトフロー ID > \ --instance-id < Connect インスタンス ID > \ --region ap-northeast-1
しかし、顧客が不在の時に、後から同じ電話番号「080-1234-XXXX」に折り返してしまい、
電話番号に紐づけていた発信用の問い合わせフローのメッセージが流れてしまいました。
顧客が折り返し電話をかけてきた際に、顧客への発信用案内フローを流さずに、折り返し着信時お断りフロー を流すように設定するにはどうしたらよいでしょうか。
どう対応すればいいの?
「折り返し着信時フロー」 は、Connect で取得した電話番号と 「問い合わせフロー/IVR」 を紐付けることで、顧客からの折り返し着信時に、発信の時と別の音声メッセージを流すことが可能です。
一方で、「発信用案内フロー」 は、start-outbound-voice-contact コマンドの contact-flow-id に、「発信用案内フロー」 のコンタクトフロー ID を設定して、AWS CLI を実行すると、発信用の音声案内を流すことができます。
発信用の問い合わせフローは、StartOutboundVoiceContact API を呼び出すと Connect から外部へ発信できるようになりますので、この辺りの仕様は、以下のドキュメントを参照ください。
やってみた
上記の内容を実際にやってみました。
準備
Amazon Connect のコンソールで以下のリソースを事前に作成します。
- Amazon Connect インスタンス
- Amazon Connect で利用する電話番号
- 080-XXX-XXX などの電話番号を任意で取得
- Amazon Connect 用ユーザ
発信用案内フローの作成
サンプルとして以下のようなコンタクトフローを作成します。
発信後に、これからオペレーターにつなぐ旨の音声メッセージを流し、オペレーターへつなぐためのキューを設定します。
プロンプトの再生で、任意のテキストを読み上げるように設定します。 以下のテキストを読み上げるように設定しました。
メッセージ内容:
お電話ありがとうございます。
先日の〇〇の件で電話させていただきました。 オペレータへつなぎますのでお待ち下さい。
メッセージが流れた後に、受信可能なオペレーターへ繋ぐために、キューを設定してあげましょう。
キューの設定方法の詳細は以下のブログにあるので、ご参照ください。
折り返し着信時お断りフローの作成
折り返し電話がかかってきたときのお断りフローを以下のように作成します。
顧客からの折り返し後に、発信専用だから別の電話にかけるようにお断りする音声メッセージを流し、そのまま電話を切断します。
プロンプトの再生で、任意のテキストを読み上げるように設定します。
以下のテキストを読み上げるようにしました。
メッセージ内容:
お電話ありがとうございます。
クラスメソッド株式会社の中野ヨシユキでございます。 こちらの電話番号は発信専用でございます。
恐れ入りますが、折返しの際は、電話番号「0120-XXXX-XXXX」におかけ直しくださいませ。
また、以下のように取得した電話番号「080-1234-XXXX」に「問い合わせフロー/IVR」を紐付けてください。
コマンドで発信してみる
以下、コマンドで実行して、顧客へ電話を発信してみます。
実行後、ContactId が json で返ってきます。
$ aws connect start-outbound-voice-contact \ --destination-phone-number '+810801111XXXXX' \ --source-phone-number '+810801234XXXX' \ --contact-flow-id '123a45b6-c7d8-9012-34e5-6fab789c012d' \ --instance-id '12a34b56-7890-1234-cde5-6789f0a1b2c3' \ --region ap-northeast-1 { "ContactId": "61e62f86-XXXX-XXXX-XXXXXXXX" }
上記コマンド内の、contact-flow-id や instance-id の取得方法は、「発信用案内フロー」を作成した画面から取得できます。画面でいうと、この辺りです。
以下のブログに取得方法の手順があるのでご参照ください。
[Amazon Connect] StartOutboundVoiceContactや、GetCurrentMetricDataで必要となる各種IDの取得方法(小ネタ)
顧客が電話を受け取った際にメッセージが流れ、しばらくするとアクティブなオペレーターが話し出します。 ちなみに、オペレーターとして僕の生声が入っていますが、ご容赦ください(笑)
また、対応可能なオペレーターに転送され、CCP 側 で無事通話できています。 ちなみに、発信後に英語のアナウンスが流れているのは、Default customer queue という名前の顧客キューが動作しているためです。詳細はこちらのブログをご参照下さい。
折り返し電話してみる
次に、かかってきた電話番号に、折り返し電話してみましょう。
以下のように、設定した通りの音声メッセージが流れれば成功です。
テキストを変な風に読み上げてますが、もう少し上手く設定してみてください(笑)。